package br.com.salao.rest;

import java.util.List;

import javassist.NotFoundException;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.jboss.resteasy.annotations.providers.jaxb.Wrapped;

import br.com.salao.bean.Cidade;
import br.com.salao.model.CidadeModel;


@Path("/cidade")
public class CidadeService {
	
	@GET
	@Path("/{idEstado}")	
	@Wrapped(element = "listCidades")
	@Produces({MediaType.APPLICATION_JSON})
	public List<Cidade> listarCidadesPorEstado(@PathParam("idEstado") int idEstado) throws NotFoundException{		
	
		CidadeModel cidadeModel = new CidadeModel();
		List<Cidade> cidades =  cidadeModel.listarCidadePorIdEstado(idEstado);
		
		if(cidades == null){
			throw new NotFoundException("Cidades nao encontradas");
		}
		
		return cidades;
	}
	
	@GET
	@Path("/id/{idCidade}")	
	@Produces({MediaType.APPLICATION_JSON})
	public Cidade buscar(@PathParam("idCidade") int idCidade) throws NotFoundException{		
	
		CidadeModel cidadeModel = new CidadeModel();
		Cidade cidade =  cidadeModel.buscar(idCidade);
		
		if(cidade == null){
			throw new NotFoundException("Cidade nao encontrada");
		}
		
		return cidade;
	}	

}
